Method of data modulation and demodulation in SoC

ABSTRACT

A method of modulating data, which is represented by two data types of ‘high’ and ‘low’, and demodulating the modulated data, is disclosed. In a method of data modulation and demodulation for a communication system which has a transmitting end modulating a data and a receiving end demodulating the transmitted data from the transmitting end, the data is represented by two types including ‘high’ and ‘low’, and the receiving end receives at least one data which consists of at least one code-word spread by a unique orthogonal code. The receiving end adds up the received data in the unit of code-word, and subtracts the length of the orthogonal code from a value which is obtained by doubling the sum of the code-word, when the code-word of the orthogonal code is ‘0’. The receiving end then averages the result after the subtraction in the unit of orthogonal code length and e-tracts the result, and therefore obtains the data from the transmitting end.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of Korean Patent Application No.2004-99281, filed on Nov. 30, 2004, in the Korean Intellectual PropertyOffice, the disclosure of which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method of modulating transmissiondata and demodulating received data. More particularly, the presentinvention relates to a method of modulating and demodulating datarepresented in two types, that is, high and low.

2. Description of the Related Art

Generally, a transmitting end of a communication system, which sends outsignal to a receiving end, carries out certain predetermined processesto reduce error of signal transmission. Therefore, the transmitting endcarries out modulation with respect to the transmission data, and thereceiving end carriers out demodulating processes with respect to thereceived data to recover to the initial data.

FIG. 1 shows a general data (signal) transmission in a conventionalcommunication system, and FIGS. 2A to 2H show the waveforms of thesignal being processes in the transmitting and receiving nodes of thecommunication system. As follows, the process of modulating anddemodulating data in a general communication system will be described indetail with reference to FIG. 1, and FIGS. 2A to 2H.

In FIG. 1, a communication system includes a transmitting node A, atransmitting node B, and a receiving node C. Other elements may beincluded in the communication system. However, FIG. 1 only shows theabove-mentioned elements for easier understanding.

The transmitting node A generates data (a) to transmit to the receivingnode C. The transmitting node B generates data (b) to transmit to a nodeother than the receiving node C.

When the data to transmit is ‘1’, the data is expressed as ‘-1’, andwhen the data for transmission is ‘0’, it is expressed as ‘1’. Asillustrated in FIG. 2A, the data (a) is ‘101’, and according to FIG. 2C,the data (b) is ‘110’.

The transmitting node carries out modulation with respect to the datafor transmission. Accordingly, the transmitting node spreads data fortransmission by using orthogonal codes. By the orthogonal codeexpansion, error rate of the data in the transmission channel can bereduced, The transmitting node spreads the transmission data by usingthe orthogonal code as allocated to the receiving node. The orthogonalcode may include Walsh code.

Accordingly, the transmitting node A spreads transmission data by usingthe orthogonal code which is allocated to the receiving node C. In FIG.1, the receiving node C is allocated with the orthogonal code ‘w0’. Withreference to FIG. 2B, the code ‘w0’ is ‘0101’, and through dataexpansion as illustrated in FIG. 2E, the code ‘w0’ is spread to ‘10100101 1010’. The transmitting node A sends out the spread data over theantenna.

The transmitting node B spreads transmission data by using theorthogonal code which is allocated to the receiving node. With referenceto FIG. 1, the orthogonal code ‘w1’ is allocated to the receiving node.With reference to FIG. 2D, the code ‘w1’ is ‘0011’, and through the dataexpansion as shown in FIG. 2F, the code ‘w1’ is spread to ‘1100 11000011’. The transmitting node B sends out expansion data over theantenna.

The receiving node C receives the spread data from the transmitting nodeA and from the transmitting node B. Accordingly, the receiving node Cneeds to extract data which is transmitted from the transmitting node A.The process by the receiving node C of extracting the data of thetransmitting node A, will now be described below.

FIG. 2G shows the data received at the receiving node C. With referenceto FIG. 2G, the receiving node C receives summation data of the data ofthe transmitting node A and the transmitting node B. For the convenienceof explanation, the receiving node C therefore receives data of ‘-2 0 02 0-2 2 0 0 2-2 0’.

The receiving node C reverse-spreads the received data with theorthogonal code it is allocated. More specifically, the receiving nodehas allocated with the orthogonal code of ‘0101’, which is converted to‘1-1 1-1’ for use in the modulation and demodulation process. Therefore,the receiving node reverse-spreads the received data ‘-2 0 0 2 0-2 2 0 02-2 0’ by using ‘1-1 1-1’.

With reference to FIG. 2H, the receiving node C obtains ‘-2 0 0-2 0 2 20 0-2-2 0’ by carrying out the reverse-expansion.

The receiving node C segments the obtained data in the unit oforthogonal code length, and averages the segmented data. Morespecifically, the receiving code C obtains an average ‘-1’ with respectto ‘-2 0 0-2’, obtains an average ‘1’ with respect to ‘0 2 2 0’, andobtains an average ‘-1’ with respect to ‘0-2-2 0’. As the receiving nodeC obtains ‘-1 1-1’, the transmitting node A can obtains transmissiondata ‘101’.

However, because the transmission data is expressed in three types, thatis, ‘-1’, ‘0 (no data)’, ‘1’, the data range for reception at thereceiving nodes increases as the number of transmitting nodes increases.In other words, when there are five transmitting nodes, the receivingnode needs to receive data of ‘-5’ to ‘5’. Accordingly, bits increase toreceive the data, and subsequently load also increases to process theincreased data.

Furthermore, the above-explained method is not suitable for acommunication system which transmits data in two types, that is, highand low. Accordingly, a method of data modulation and demodulation,which can be used in a communication system that expresses data in highand low type, is required.

SUMMARY OF THE INVENTION

Accordingly, it is an aspect of the present invention to provide a datamodulation and demodulation method which can be used in a communicationsystem transmitting data in two types, that is, ‘high’ and ‘low’ datatypes.

Another aspect of the present invention is to provide a method forreducing required load for reception data demodulation, by providing acommunication system which transmits data in two data types, that is,‘high’ and ‘low’ types.

The foregoing and/or other aspects of the present invention are achievedby providing a method of data modulation and demodulation for acommunication system which has a transmitting end modulating a data anda receiving end demodulating the transmitted data from the transmittingend, the data being represented by two types including ‘high’ and ‘low’,and the method of data modulation and demodulation including receivingat least one data which comprises at least one code-word spread by aunique orthogonal code, and adding up the received data in the unit ofcode-word, subtracting the length of the orthogonal code from a valuewhich is obtained by doubling the sum of the code-word, when thecode-word of the orthogonal code is ‘0’, and averaging the result afterthe subtraction in the unit of orthogonal code length and extracting theresult.

Additionally, the value, which is obtained by doubling the sum of thecode-word, is subtracted from the length of the orthogonal code, whenthe code-word of the orthogonal code is ‘1’. The communication systemmay be a system-on-chip (SoC).

Additional aspects and/or advantages of the invention will be set forthin part in the description which follows and, in part, will be apparentfrom the description, or may be learned by practice of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

These and/or other aspects and advantages of the invention will becomeapparent and more readily appreciated from the following description ofthe embodiments, taken in conjunction with the accompanying drawings ofwhich:

FIG. 1 is a view illustrating a conventional communication systemmodulating and demodulating data;

FIG. 2 is a view illustrating conventional waveforms of signals beingprocessed in respective steps of the communication system of FIG. 1;

FIG. 3 is a view illustrating the structure of a SoC;

FIG. 4 is a view illustrating the operation of a transmitting IPaccording to an embodiment of the present invention; and

FIG. 5 is a view illustrating the operation of a receiving IP accordingto an embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Reference will now be made in detail to the embodiments of the presentinvention, examples of which are illustrated in the accompanyingdrawings, wherein like reference numerals refer to the like elementsthroughout. The embodiments are described below to explain the presentinvention by referring to the figures.

First, a SoC using modulation and demodulation according to the presentinvention will be described.

Digital information devices such as mobile phones, personal digitalassistants (PDA), digital TVs, smart phones, require varioussemiconductor chips such as microprocessor, network chip and memory, inorder to achieve efficient Internet access or computing. As theinformation devices get more complex and varied, incorporation ofdifferent information devices is expected to accelerate, and more chipswill be subsequently needed in a single information device.

System on a chip, or SoC, is a technology suggested to incorporate notonly semiconductor chips, but also all the separate components in asingle chip by integrating various components in one chip. The SoCusually includes computational element, I/O, logic, and memory. Beingcompact and highly integrated, SoC of high performance and low powerconsumption is expected to be applied to a wide range of informationcommunication devices. An intellectual property (IP) is used forefficient design of semiconductor chips. IPs refer to design blockswhich are developed for application in corresponding chips.

Many studies are seeking for the techniques to realize the SoC, andespecially, an efficient way of connecting several IPs of the chip, isone of the most important matters. Currently, using a bus structure anda network structure are available as a way to connect IPs. Using the busstructure almost reached a limit due to the increase of data volumetransmitted between IPs, because a bus cannot be used by other IPs ifany one of IPs is using the bus. In other words, one IP exclusively usesthe bus.

Furthermore, the bus structure does not sufficiently support for theexpansion characteristic. Due to the fixed characteristic of the busstructure, expansion of IPs in the chip is not supported. Using thenetwork structure has been suggested in an attempt to overcome theshortcoming of the way of using bus structure. The network structure hasa less power consumption than the bus structure.

FIG. 3 illustrates a SoC which transmits data to the neighboring IPs. InFIG. 3, a star topology is illustrated in which at least two IPs shareone switch. More specifically, FIG. 3 illustrates eight IPs that shareone switch. The eight IPs include IP(0) to IP(7). Each IP is allocated aunique orthogonal code. Allocation of orthogonal code to each IP will bedescribed below.

It is assumed that data is generated for IP(0) to send to IP(3), andanother data is generated for IP(6) to send to IP(7). The IP(0) spreadsgenerated data by using the orthogonal code allocated to IP(3). TheIP(0) transmits the spread data to the switch. The IP(6) spreads thegenerated data by using the orthogonal code allocated to the IP(7). TheIP(6) transmits the spread data to the switch. The switch adds up thereceived data and broadcast to the neighboring connected IPs. In otherwords, the switch transmits the sum of received data to IP(0) throughIP(7).

The IP(0) through IP(7) de-spreads the received data by using theallocated orthogonal code. By the de-spreading, the IP(3) receives thedata from the IP(0), and the IP(7) receives the data from the IP(6).

The process of the transmitting IP transmitting data will now bedescribed with reference to FIG. 4. As mentioned above, an IP of a SoCtransmits data in two representation, that is, transmits data in highand low data types. For the convenience of explanation, the high datawill be expressed as ‘1’, and the low data will be expressed as ‘0’.

At operation 400, the transmitting IP stores an orthogonal code inlength L, which is allocated to the IPs of a SoC. When it is assumedthat seven IPs constitute the SoC, the following table 1 listsorthogonal codes which are 8 in length, respectively, and allocated tothe respective IPs of the SoC: TABLE 1 IP Allocated orthogonal codeIP(0) 0101 0101(w1) IP(1) 0011 0011(w2) IP(2) 0110 1001(w3) IP(3) 00001111(w4) IP(4) 0101 1010(w5) IP(5) 0011 1100(w6) IP(6) 0110 1001(w7)

In this embodiment, ‘w0’ is not allocated to the IPs, but used whenthere is no data.

At operation 402, the transmitting IP generates data, and spreads thegenerated data at operation 404, by using the orthogonal code which isallocated to the destination IP. The transmitting IP transmits thespread data to the switch at operation 406.

FIG. 5 illustrates the operations of a receiving IP. The operations ofthe receiving IP according to an embodiment of the present inventionwill now be described with reference to FIG. 5.

At operation 500, the receiving IP stores orthogonal codes in length ‘L’to the respective IPs. The orthogonal code stored at the receiving IP atoperation 500 is identical to the orthogonal code stored at thetransmitting IP at operation 400.

At operation 502, the receiving IP receives at least one data. In otherwords, when there are two transmitting IPs, the receiving IP receivestwo data. At operation 504, the receiving IP adds up the received datato code-word unit (word-wise unit) and obtains S[i]. The code-word unitwill be explained below.

At operation 506, the receiving IP determines whether the code-word ofthe orthogonal code is ‘0’ or not. If the code-word of the orthogonalcode is ‘0’, the operation continues to operation 508, while if it is‘1’ the operation moves to operation 510.

At operation 508, the receiving IP doubles the sum of operation 504 andsubtracts the length of the orthogonal code (2S[i]−L). At operationS510, the receiving IP subtracts the doubled value of the summed resultof operation 504 from the length of the orthogonal code (L−2S[i]).

At operation 512, the receiving IP averages the data of operation 508 oroperation 510, and subsequently obtains the data from the transmittingIR The operation of the receiving IP, which is illustrated in FIG. 5,can be performed at an output port of the switch.

The characteristics and aspects of the present invention will bedescribed mainly with reference to one exemplary embodiment of thepresent invention.

It is assumed that the IP(1) intends to send data ‘10’ to the IP(2). Itis also assumed that the IP(3) intends to send the data ‘11’ to theIP(4). In order to transmit the data ‘10’, the IP(1) spreads the data‘10’ by using the orthogonal code allocated to the IP(2). The orthogonalcode allocated to the IP(2) is ‘0110 1001’. Accordingly, the IP(1)generates spread data of ‘1001 01100110 10001’. In order to transmitsthe data ‘11’, the IP(3) spreads the data ‘11’ by using the orthogonalcode allocated to the IP(4). The IP(4) is allocated with the orthogonalcode of ‘0101 1010’. Therefore, the IP(3) generates spread data of ‘10100101 1010 0101’. The IP(1) and the IP(3) transmit the generated data tothe switch. The above operations can be carried out at the input port ofthe switch, instead of the IP(1) and IP(3).

The IP(2) and the IP(4) respectively add up the data from the IP(1) andthe IP(3) in the unit of code-word, and receive the data. In otherwords, the IP(2) and the IP(4) receive data S[i] of ‘2011 0211 11201102’ (i=code word). The IP(2) and the IP(4) double the received S[i]to, ‘4022 0422 2240 2204’.

The IP(2) and the IP(4) perform operation 508 when the code-word of theallocated orthogonal code is ‘0’, and perform operation 510 when thecode-word of the allocated orthogonal code is ‘1’.

The following table 2 lists the operations of the IP(2), and thefollowing table 3 lists the operations of IP(4). TABLE 2 2S[i] 4 0 2 2 04 2 2 2 2 4 0 2 2 0 4 L 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 Allocatedorthogonal code 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 D[i] −4 8 6 −6 8 −4 −6 6−6 6 4 −8 −6 6 −8 4

TABLE 3 2S[i] 4 0 2 2 0 4 2 2 2 2 4 0 2 2 0 4 L 8 8 8 8 8 8 8 8 8 8 8 88 8 8 8 Allocated orthogonal code 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 D[i]−4 8 −6 6 8 −4 6 −6 −6 6 −4 8 −6 6 8 −4

The IP(2) adds up the D[i] of Table 2 in the unit of orthogonal codelength and averages the result. In other words, the IP(2) obtains anaverage ‘1’ of ‘-4 8 6-6 8-4-6 6’, and obtains an average ‘-1’ of ‘-6 64-8-6 6-8 4’. Based on the assumption that the transmission data is ‘1’when the average is ‘1’, and the transmission data is ‘0’ when theaverage is ‘-1’, the IP(2) can obtain ‘10’ transmitted from the IP(1).

The IP(4) adds up the D[i] of Table 3 in the unit of orthogonal codelength and averages the result. In other words, the IP(4) obtains anaverage ‘1’ of ‘-4 8-6 6 8-4 6-6’, and obtains an average ‘-1’ of ‘-66-4 8-6 6 8-4’. Based on the assumption that the transmission data is‘1’ when the average is ‘1’, and the transmission data is ‘0’ when theaverage is ‘-1’, the IP(4) can obtain ‘11’ transmitted from the IP(3).

The above examples shows transmission of only two IPs. However, thepresent invention is equally applicable to a case where all of the IPsof the SoC transmit data. Of course, the length of the allocatedorthogonal codes increases as the number of IPs of the SoC increases.

Although FIGS. 3 to 5 shows the operations at IPs and the switch of SoC,it should not be construed as limiting. In other words, any system thatcan transmit and receive data in ‘high’ and ‘low’ data types may equallyutilize the technical idea of the present invention in transmitting andreceiving data.

As described above in a few exemplary embodiments of the presentinvention, a system transmits and receives data in two data types, thatis, ‘high’ and ‘low’, in modulating and demodulating the data. Comparedto a conventional system, which modulates and demodulates data in threedata representation types, a smaller range of reception is provided to areceiving end and therefore, load to the receiving end reduces. Morespecifically, in a system which has five transmitting nodes, andmodulates and demodulates data in three representation types, areceiving node needs to express ‘-5’ to ‘5’. On the contrary, in thesystem employing the present invention, a receiving node is onlyrequired to express ‘0’ to ‘5’.

Although a few embodiments of the present invention have been shown anddescribed, it would be appreciated by those skilled in the art thatchanges may be made in these embodiments without departing from theprinciples and spirit of the invention, the scope of which is defined inthe claims and their equivalents.

1. A method of data modulation and demodulation for a communicationsystem which has a transmitting end modulating a data and a receivingend demodulating the transmitted data from the transmitting end, thedata being represented by two types including ‘high’ and ‘low’, and themethod of data modulation and demodulation comprising: receiving atleast one data comprising at least one unit of code-word spread by aunique orthogonal code, and adding up the received data in the unit ofcode-word; subtracting the length of the orthogonal code from a valuewhich is obtained by doubling the sum of the code-word, when thecode-word of the orthogonal code is ‘0’; and averaging a result obtainedafter the subtraction in a unit of the orthogonal code length andextracting the result.
 2. The method of data modulation and demodulationof claim 1, further comprising subtracting the value, which is obtainedby doubling the sum of the code-word, from the length of the orthogonalcode, when the code-word of the orthogonal code is ‘1’.
 3. The method ofdata modulation and demodulation of claim 2, wherein the transmittingend modulates the data by using an orthogonal code allocated to thereceiving end.
 4. The method of data modulation and demodulation ofclaim 3, wherein the receiving end is allocated with one of Walsh codesexcept the Walsh code
 0. 5. The method of data modulation anddemodulation of claim 1, wherein the communication system comprises asystem-on-chip (SoC) which includes at least two intelligent elementsand a switch.
 6. The method of data modulation and demodulation of claim5, wherein the intelligent elements are each allocated with one of theWalsh codes except Walsh code 0, with each intelligent element beingallocated with different Walsh codes.
 7. The method of data modulationand demodulation of claim 6, wherein the data modulation is carried outby an intelligent element which transmits the data.
 8. The method ofdata modulation and demodulation of claim 6, wherein the data modulationis carried out at an input port of the switch which is connected withthe data transmitting intelligent element.
 9. The method of datamodulation and demodulation of claim 6, wherein the data demodulation iscarried out by an intelligent element which receives the data.
 10. Themethod of data modulation and demodulation of claim 6, wherein the datademodulation is carried out at an output port of the switch which isconnected with the data receiving intelligent element.
 11. The method ofdata modulation and demodulation of claim 1, wherein the ‘high’ datatype is represented by ‘1’ and the ‘low’ data type is represented by‘0’.
 12. A method, comprising: storing a plurality of orthogonal codes,each of the plurality of orthogonal codes allocated respectively to anIntellectual Property (IP) of a system-on-chip (SoC); generating datavia at least one of the IPs; spreading the generated data using thestored orthogonal code allocated to a destination IP; and transmittingthe spread data via a transmitting IP to a switch.
 13. A method,comprising: storing a plurality of orthogonal codes, each of theplurality of orthogonal codes being stored respectively in acorresponding number of Intellectual Properties (IPs); receiving datafrom each of the corresponding number of IPs via a receiving IP; addingup the received data to a code-word unit to obtain a S[i] value;determining whether the code-word of the orthogonal code is ‘0’ or not,and if the code-word of the orthogonal code is ‘0’, the receiving IPdoubles the sum of the S[i] value and subtracts the length (L) of theorthogonal code (2S[i]−L), and if the code-word of the orthogonal codeis ‘1’, the receiving IP subtracts the doubled S[i] value from thelength (L) of the orthogonal code (L−2S[i]); and averaging a resultobtained from either (2S[i]−L) or (L−2S[i]) based on the determinationof the code-word of the orthogonal code.